<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Tekdaqc Firmware: Analog Input</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customstyle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Tekdaqc Firmware
   &#160;<span id="projectnumber">1.0.2.0</span>
   </div>
   <div id="projectbrief">The firmware of the Tekdaqc.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__analog__input.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Analog Input<div class="ingroups"><a class="el" href="group__tekdaqc__firmware.html">Tekdaqc Firmware</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_analog___input__t.html">Analog_Input_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data structure used to store the state and requirements of an analog input to the Tekdaqc. This data structure contains all the information related to a particular input to the Tekdaqc, including values and allowable range. Please note that while there is nothing to stop you from manipulating the values of the structure directly, it is not recommended as it could put the structure in an indeterminate state. Instead, manipulation functions are provided which will ensure that all state related implications are addressed.  <a href="struct_analog___input__t.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga7b523129daacaeca69045b3adb1aaf54"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b523129daacaeca69045b3adb1aaf54"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga7b523129daacaeca69045b3adb1aaf54">MAX_ANALOG_INPUT_NAME_LENGTH</a>&#160;&#160;&#160;24</td></tr>
<tr class="memdesc:ga7b523129daacaeca69045b3adb1aaf54"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum number of characters for the name of an analog input. <br/></td></tr>
<tr class="separator:ga7b523129daacaeca69045b3adb1aaf54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f128795c69a685d5e905c4117008271"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3f128795c69a685d5e905c4117008271"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga3f128795c69a685d5e905c4117008271">ANALOG_INPUT_BUFFER_SIZE</a>&#160;&#160;&#160;100U /* 100 samples. Other code expects it to &lt;= 255. */</td></tr>
<tr class="memdesc:ga3f128795c69a685d5e905c4117008271"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number or readings to store in the circular buffer for the input. <br/></td></tr>
<tr class="separator:ga3f128795c69a685d5e905c4117008271"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga99258f91accf55ecea49707692a3889b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga99258f91accf55ecea49707692a3889b">AnalogInputStatus_t</a> { <a class="el" href="group__analog__input.html#gga99258f91accf55ecea49707692a3889baab4ee4ac298eaa158dc5d14eb9ca8b60">BELOW_RANGE</a>, 
<a class="el" href="group__analog__input.html#gga99258f91accf55ecea49707692a3889ba19a150b47d1db72e2947bef12bd1ca7f">IN_RANGE</a>, 
<a class="el" href="group__analog__input.html#gga99258f91accf55ecea49707692a3889baa2ccf1ed52430dd6b0070370d5125d7e">ABOVE_RANGE</a>
 }</td></tr>
<tr class="memdesc:ga99258f91accf55ecea49707692a3889b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tekdaqc input status enumeration. Defines the possible status states of an input to the Tekdaqc, both analog and digital.  <a href="group__analog__input.html#ga99258f91accf55ecea49707692a3889b">More...</a><br/></td></tr>
<tr class="separator:ga99258f91accf55ecea49707692a3889b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf65fcf2267ddebcf80049303dc9507ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#gaf65fcf2267ddebcf80049303dc9507ce">AnalogInputsInit</a> (void)</td></tr>
<tr class="memdesc:gaf65fcf2267ddebcf80049303dc9507ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize all of the submodules for analog inputs.  <a href="#gaf65fcf2267ddebcf80049303dc9507ce">More...</a><br/></td></tr>
<tr class="separator:gaf65fcf2267ddebcf80049303dc9507ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdd326a56de1d837605d610cc638a959"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#gacdd326a56de1d837605d610cc638a959">CreateAnalogInput</a> (char keys[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], char values[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], uint8_t count)</td></tr>
<tr class="memdesc:gacdd326a56de1d837605d610cc638a959"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new analog input structure and adds it to the board's list.  <a href="#gacdd326a56de1d837605d610cc638a959">More...</a><br/></td></tr>
<tr class="separator:gacdd326a56de1d837605d610cc638a959"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab88a5ebe3b0749d880eec3c892649454"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#gab88a5ebe3b0749d880eec3c892649454">AddAnalogInput</a> (<a class="el" href="struct_analog___input__t.html">Analog_Input_t</a> *input)</td></tr>
<tr class="memdesc:gab88a5ebe3b0749d880eec3c892649454"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an analog input to the board's list.  <a href="#gab88a5ebe3b0749d880eec3c892649454">More...</a><br/></td></tr>
<tr class="separator:gab88a5ebe3b0749d880eec3c892649454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga221c8c5a1bbe659d613fa81a6a834dd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga221c8c5a1bbe659d613fa81a6a834dd9">RemoveAnalogInput</a> (char keys[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], char values[][<a class="el" href="group__command__parser.html#ga6147771b5547853f33eb838895e3d5a2">MAX_COMMANDPART_LENGTH</a>], uint8_t count)</td></tr>
<tr class="memdesc:ga221c8c5a1bbe659d613fa81a6a834dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an analog input from the board's list.  <a href="#ga221c8c5a1bbe659d613fa81a6a834dd9">More...</a><br/></td></tr>
<tr class="separator:ga221c8c5a1bbe659d613fa81a6a834dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30736f8a2ceb6a1993055302893efefe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga30736f8a2ceb6a1993055302893efefe">ListAnalogInputs</a> (void)</td></tr>
<tr class="memdesc:ga30736f8a2ceb6a1993055302893efefe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints a representation of all the added analog inputs.  <a href="#ga30736f8a2ceb6a1993055302893efefe">More...</a><br/></td></tr>
<tr class="separator:ga30736f8a2ceb6a1993055302893efefe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga697505715d2411ad856bca3d1e726913"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_analog___input__t.html">Analog_Input_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga697505715d2411ad856bca3d1e726913">GetAnalogInputByNumber</a> (uint8_t number)</td></tr>
<tr class="memdesc:ga697505715d2411ad856bca3d1e726913"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the analog input structure corresponding to a physical channel.  <a href="#ga697505715d2411ad856bca3d1e726913">More...</a><br/></td></tr>
<tr class="separator:ga697505715d2411ad856bca3d1e726913"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d7d6daf5f4b4a4c455dd9b9aec6053b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga3d7d6daf5f4b4a4c455dd9b9aec6053b">WriteAnalogInput</a> (<a class="el" href="struct_analog___input__t.html">Analog_Input_t</a> *input)</td></tr>
<tr class="memdesc:ga3d7d6daf5f4b4a4c455dd9b9aec6053b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints data from the analog input structure to the data connection.  <a href="#ga3d7d6daf5f4b4a4c455dd9b9aec6053b">More...</a><br/></td></tr>
<tr class="separator:ga3d7d6daf5f4b4a4c455dd9b9aec6053b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8230666b0182b4ce633c20860b5146ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga8230666b0182b4ce633c20860b5146ff">SetAnalogInputWriteFunction</a> (<a class="el" href="group__tekdaqc__configuration.html#ga163b2a4cc55a569e988df48908631967">WriteFunction</a> writeFunction)</td></tr>
<tr class="memdesc:ga8230666b0182b4ce633c20860b5146ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the function to use for writing strings to the data connection.  <a href="#ga8230666b0182b4ce633c20860b5146ff">More...</a><br/></td></tr>
<tr class="separator:ga8230666b0182b4ce633c20860b5146ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87d73c733aa66effbdafe2a15b7c4a54"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#ga87d73c733aa66effbdafe2a15b7c4a54">ExtAnalogInputToString</a> (ExternalMuxedInput_t input)</td></tr>
<tr class="memdesc:ga87d73c733aa66effbdafe2a15b7c4a54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the string representation of an externally muxed analog input.  <a href="#ga87d73c733aa66effbdafe2a15b7c4a54">More...</a><br/></td></tr>
<tr class="separator:ga87d73c733aa66effbdafe2a15b7c4a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae568c96624ef9e126175706f85eec3b4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input.html#gae568c96624ef9e126175706f85eec3b4">IntAnalogInputToString</a> (InternalAnalogInput_t input)</td></tr>
<tr class="memdesc:gae568c96624ef9e126175706f85eec3b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the string representation of an internally muxed analog input.  <a href="#gae568c96624ef9e126175706f85eec3b4">More...</a><br/></td></tr>
<tr class="separator:gae568c96624ef9e126175706f85eec3b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga99258f91accf55ecea49707692a3889b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__analog__input.html#ga99258f91accf55ecea49707692a3889b">AnalogInputStatus_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga99258f91accf55ecea49707692a3889baab4ee4ac298eaa158dc5d14eb9ca8b60"></a>BELOW_RANGE</em>&#160;</td><td class="fielddoc">
<p>The current value is below the minimum of the range. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99258f91accf55ecea49707692a3889ba19a150b47d1db72e2947bef12bd1ca7f"></a>IN_RANGE</em>&#160;</td><td class="fielddoc">
<p>The current value is in the allowable range. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99258f91accf55ecea49707692a3889baa2ccf1ed52430dd6b0070370d5125d7e"></a>ABOVE_RANGE</em>&#160;</td><td class="fielddoc">
<p>The current value is above the maximum of the range. </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="_analog___input_8h_source.html#l00076">76</a> of file <a class="el" href="_analog___input_8h_source.html">Analog_Input.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gab88a5ebe3b0749d880eec3c892649454"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a> AddAnalogInput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_analog___input__t.html">Analog_Input_t</a> *&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Adds an analog input structure to the board's appropriate list of inputs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>Analog_Input_t* The analog input structure to add. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00368">368</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaf65fcf2267ddebcf80049303dc9507ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AnalogInputsInit </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initializes all requisite sub-modules to properly operate analog inputs. This includes any multiplexing and default inputs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00150">150</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="gacdd326a56de1d837605d610cc638a959"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a> CreateAnalogInput </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>keys</em>[][MAX_COMMANDPART_LENGTH], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>values</em>[][MAX_COMMANDPART_LENGTH], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Creates a new analog input data structure from the supplied parameters and adds it to the board's relevant input list.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>char** Array of strings containing the command line keys. Indexed with values. </td></tr>
    <tr><td class="paramname">values</td><td>char** Array of strings containing the command line values. Indexed with keys. </td></tr>
    <tr><td class="paramname">count</td><td>uint8_t The number of parameters passed on the command line. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">uint8_t</td><td>The error status code. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00267">267</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga87d73c733aa66effbdafe2a15b7c4a54"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ExtAnalogInputToString </td>
          <td>(</td>
          <td class="paramtype">ExternalMuxedInput_t&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the string representation of an externally muxed analog input.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>ExternalMuxedInput_t The external input. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>const char* The string representation. </dd></dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00529">529</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga697505715d2411ad856bca3d1e726913"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_analog___input__t.html">Analog_Input_t</a>* GetAnalogInputByNumber </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>number</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieve an analog input structure by specifying the physical input channel.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">number</td><td>uint8_t The physical input channel to retrieve. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">Analog_Input_t*</td><td>Pointer to the analog input structure. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00458">458</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="gae568c96624ef9e126175706f85eec3b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* IntAnalogInputToString </td>
          <td>(</td>
          <td class="paramtype">InternalAnalogInput_t&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the string representation of an internally muxed analog input.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>InternalAnalogInput_t The internal input </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">const</td><td>char* The string representation. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00645">645</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga30736f8a2ceb6a1993055302893efefe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a> ListAnalogInputs </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Prints a human readable representation of all the added analog inputs via the current write function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tekdaqc_Function_Error_t The error status of this function. </dd></dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00183">183</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga221c8c5a1bbe659d613fa81a6a834dd9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tekdaqc__error.html#ga19df05d919ecca7a7501b35ae9080a32">Tekdaqc_Function_Error_t</a> RemoveAnalogInput </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>keys</em>[][MAX_COMMANDPART_LENGTH], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>values</em>[][MAX_COMMANDPART_LENGTH], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Removes an analog input from the board's list based on the supplied parameters.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keys</td><td>char** Array of strings containing the command line keys. Indexed with values. </td></tr>
    <tr><td class="paramname">values</td><td>char** Array of strings containing the command line values. Indexed with keys. </td></tr>
    <tr><td class="paramname">count</td><td>uint8_t The number of parameters passed on the command line. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">int</td><td>The error status code. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00413">413</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga8230666b0182b4ce633c20860b5146ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SetAnalogInputWriteFunction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__tekdaqc__configuration.html#ga163b2a4cc55a569e988df48908631967">WriteFunction</a>&#160;</td>
          <td class="paramname"><em>writeFunction</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the function pointer to use when writing data from an analog input to the data connection.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">writeFunction</td><td>WriteFunction pointer to the desired string writing function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00519">519</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga3d7d6daf5f4b4a4c455dd9b9aec6053b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WriteAnalogInput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_analog___input__t.html">Analog_Input_t</a> *&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Writes the data for the provided <a class="el" href="struct_analog___input__t.html" title="Data structure used to store the state and requirements of an analog input to the Tekdaqc...">Analog_Input_t</a> structure to the stream controlled by the WriteFunction, if set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>Analog_Input_t* Pointer to the data structure to write out. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_analog___input_8c_source.html#l00480">480</a> of file <a class="el" href="_analog___input_8c_source.html">Analog_Input.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Jul 28 2014 23:42:41 for Tekdaqc Firmware by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
